1. СОЗДАНИЕ МЕНЮ

1.1. КОМПОНЕНТ JMenuBar (строка меню)

Описание: Описание: C:\Documents and Settings\User\Рабочий стол\eps\src\eps\doc\lectures\Работа с меню и диалогами.files\image001.png

Компонент-контейнер JMenuBar служит для создания главного основного меню в окне. На полосу JMenuBar наносятся компоненты-пункты JMenu.

п/п

Свойство

Назначение

1.

background

Цвет фона полосы меню

2.

opaque

Непрозрачность фона полосы меню

3.

border

Дополнительная рамка по контуру полосы меню

4.

toolTipText

Всплывающая подсказка

1.2. КОМПОНЕНТ JMenu (меню/выпадающее подменю)

Описание: Описание: C:\Documents and Settings\User\Рабочий стол\eps\src\eps\doc\lectures\Работа с меню и диалогами.files\image002.jpg

Компоненты JMenu служат для создания пунктов основного меню JMenuItem и выпадающих подпунктов подменю.

п/п

Свойство

Назначение

1.

text

Наименование пункта меню/подменю

2.

mnemonic

Символ, нажатие которого совместно с клавишей «Alt», выберет данный пункт меню/подменю («горячая клавиша»), а при повторном нажатии на данный символ активирует сам пункт

3.

enabled

Доступность пункта меню/подменю

4.

font

Шрифт пункта

5.

foreground

Цвет текста пункта

6.

background

Цвет фона пункта

7.

toolTipText

Всплывающая подсказка

8.

icon

Картинка пункта меню (формата jpeg, gif, png)

9.

disabledIcon

Картинка пункта меню при недоступности пункта (enabled=false)

10.

iconTextGap

Расстояние от картинки «icon» до надписи кнопки

11.

horizontalAlignment

Выравнивание текста и картинки кнопки относительно ее размеров по горизонтали

12.

horizontalTextPosition

Положение картинки и надписи кнопки относительно друг друга по горизонтали

13.

verticalAlignment

Выравнивание текста и картинки кнопки относительно ее размеров по вертикали

14.

verticalTextPosition

Положение картинки и надписи кнопки относительно друг друга по вертикали

 

п/п

Событие

Назначение

1.

menuKeyTyped

Активация пункта «горячей клавишей» или клавишей «Enter» при выборе пункта стрелками клавиатуры

2.

mouseClicked

Активация пункта щелчком мыши

1.3. КОМПОНЕНТ JMenuItem (пункт меню)
и
JRadioButtonMenuItem (пункт меню/переключатель)

Описание: Описание: C:\Documents and Settings\User\Рабочий стол\eps\src\eps\doc\lectures\Работа с меню и диалогами.files\image003.jpg

Компоненты JMenuItemи и JRadioButtonMenuItem служат для создания пунктов для JMenu.

п/п

Свойство

Назначение

1.

text

Наименование пункта

2.

accelerator

Комбинация клавиш для открытия подменю, где находится пункт (но выбора и активизации самого пункта при этом не происходит !) При повторном нажатии комбинации активируется пункт

3.

mnemonic

Символ, нажатие которого активирует данный пункт (только при отрытом подменю, где располагается пункт)

4.

selected

Установка/снятие «галочки» с пункта (только для JRadioButtonMenuItem)

5.

buttonGroup

Ссылка на компонент типа ButtonGroup для работы в группе (режиме выбора одной «точки» Описание: Описание: C:\Documents and Settings\User\Рабочий стол\eps\src\eps\doc\lectures\Работа с меню и диалогами.files\image004.png  из нескольких (только для JRadioButtonMenuItem)

6.

enabled

Доступность пункта меню

7.

font

Шрифт пункта

8.

foreground

Цвет текста пункта

9.

background

Цвет фона пункта

10.

toolTipText

Всплывающая подсказка

11.

icon

Картинка пункта меню (формата jpeg, gif, png)

12.

disabledIcon

Картинка пункта меню при недоступности пункта (enabled=false)

13.

iconTextGap

Расстояние от картинки «icon» до надписи кнопки

14.

horizontalAlignment

Выравнивание текста и картинки кнопки относительно ее размеров по горизонтали

15.

horizontalTextPosition

Положение картинки и надписи кнопки относительно друг друга по горизонтали

16.

verticalAlignment

Выравнивание текста и картинки кнопки относительно ее размеров по вертикали

17.

verticalTextPosition

Положение картинки и надписи кнопки относительно друг друга по вертикали

 

п/п

События

Назначение

1.

actionPerformed

Активация пункта

 

п/п

Методы

Назначение

1.

isSelected()

Проверка установки «галочки» (только для JRadioButtonMenuItem)

2.

doClick()

Активация пункта (вызов метода, обрабатывающего событие actionPerformed)

1.3.1. Пример работы с JRadioButtonMenuItem

private void jRadioButtonMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {

// Пример работы с JRadioButtonMenuItem

if (jRadioButtonMenuItem6.isSelected()) JOptionPane.showMessageDialog(rootPane, "да");

}

1.4. КОМПОНЕНТ JSeparator (разделитель)

Описание: Описание: C:\Documents and Settings\User\Рабочий стол\eps\src\eps\doc\lectures\Работа с меню и диалогами.files\image005.png

Компонент JSeparator служит для визуального разделения пунктов и подпунктов меню.

п/п

Свойство

Назначение

1.

foreground

Цвет линии

2. СОЗДАНИЕ ПОДМЕНЮ

2.1. КОМПОНЕНТ JPopupMenu (всплывающее меню)

Компонент JPopupMenu служит для создания всплывающего меню (вызываемого правой кнопкой мыши) для других компонент, через их свойство componentPopupMenu для привязки к нужному компоненту JPopupMenu.

Всплывающее меню JPopupMenu конструируется с помощью компонент JMenu, JMenuItem и JRadioButtonMenuItem через Инспектор объектов NetBeans.

3. ДИАЛОГИ

3.1. ДИАЛОГИ ВЫВОДА JOptionPane.showMessageDialog

Диалоги вывода JOptionPane.showMessageDialog служат для отображения в отдельном всплывающем окошке нужного сообщения с нужной картинкой.

п/п

Программный код

Результат

1.

JOptionPane.showMessageDialog(null,"Ошибка!","Сообщение 1",0);

или

JOptionPane.showMessageDialog(null, "Ошибка!", "Сообщение 1", JOptionPane.ERROR_MESSAGE);

Описание: Описание: C:\Documents and Settings\User\Рабочий стол\eps\src\eps\doc\lectures\Работа с меню и диалогами.files\image006.jpg

2.

JOptionPane.showMessageDialog(null, "Информирование!", "Сообщение 2", 1);

или

JOptionPane.showMessageDialog(null, "Информирование!", "Сообщение 2", JOptionPane.INFORMATION_MESSAGE);

Описание: Описание: C:\Documents and Settings\User\Рабочий стол\eps\src\eps\doc\lectures\Работа с меню и диалогами.files\image007.jpg

3.

JOptionPane.showMessageDialog(null, "Предупреждение!", "Сообщение 3", 2);

или

JOptionPane.showMessageDialog(null, "Предупреждение!", "Сообщение 3", JOptionPane.WARNING_MESSAGE);

Описание: Описание: C:\Documents and Settings\User\Рабочий стол\eps\src\eps\doc\lectures\Работа с меню и диалогами.files\image008.jpg

4.

JOptionPane.showMessageDialog(null, "Вопрос!", "Сообщение 4", 3);

или

JOptionPane.showMessageDialog(null, "Вопрос!", "Сообщение 4", JOptionPane.QUESTION_MESSAGE);

Описание: Описание: C:\Documents and Settings\User\Рабочий стол\eps\src\eps\doc\lectures\Работа с меню и диалогами.files\image009.jpg

5.

JOptionPane.showMessageDialog(null, "Просто текст без картинки", "Сообщение 5", -1);

или

JOptionPane.showMessageDialog(null, "Просто текст без картинки", "Сообщение 5", JOptionPane.PLAIN_MESSAGE);

Описание: Описание: C:\Documents and Settings\User\Рабочий стол\eps\src\eps\doc\lectures\Работа с меню и диалогами.files\image010.jpg

6.

JOptionPane.showMessageDialog(null, "Сообщение со своей картинкой", "Сообщение 6", 0, new    javax.swing.ImageIcon(getClass().getResource("/mypackage/6.png")));

Описание: Описание: C:\Documents and Settings\User\Рабочий стол\eps\src\eps\doc\lectures\Работа с меню и диалогами.files\image011.jpg

3.2. ДИАЛОГИ ПОДТВЕРЖДЕНИЯ JOptionPane.showConfirmDialog

Диалоги подтверждения JOptionPane.showConfirmDialog служат для вывода в отдельном всплывающем окошке сообщением с возможностью выбора нужного ответа.

п/п

Программный код

Результат

1.

if (JOptionPane.showConfirmDialog(null, "Сохранить данные?", "Подтверждение", 0) == JOptionPane.YES_OPTION) {

JOptionPane.showMessageDialog(null, "Да", "Сообщение", 1);

};

Описание: Описание: C:\Documents and Settings\User\Рабочий стол\eps\src\eps\doc\lectures\Работа с меню и диалогами.files\image012.jpg

2.

if (JOptionPane.showConfirmDialog(null, "Сохранить данные?", "Подтверждение", 2) == JOptionPane.OK_OPTION) {

JOptionPane.showMessageDialog(null, "Да", "Сообщение", 1);

};

Описание: Описание: C:\Documents and Settings\User\Рабочий стол\eps\src\eps\doc\lectures\Работа с меню и диалогами.files\image013.jpg

3.

if (JOptionPane.showConfirmDialog(null, "Сохранить данные?", "Подтверждение", 1) == JOptionPane.NO_OPTION) {

JOptionPane.showMessageDialog(null, "Нет", "Сообщение", 1);

};

Описание: Описание: C:\Documents and Settings\User\Рабочий стол\eps\src\eps\doc\lectures\Работа с меню и диалогами.files\image014.jpg

3.3. ДИАЛОГИ ВВОДА JOptionPane.showInputDialog

Диалоги ввода JOptionPane.showInputDialog служат для ввода в отдельном всплывающем окошке нужного значения.

п/п

Программный код

Результат

1.

String s = JOptionPane.showInputDialog(null, "X=", "Введите данные", 3);

Описание: Описание: C:\Documents and Settings\User\Рабочий стол\eps\src\eps\doc\lectures\Работа с меню и диалогами.files\image015.jpg

2.

String s = JOptionPane.showInputDialog(null, "X=", "125");

Описание: Описание: C:\Documents and Settings\User\Рабочий стол\eps\src\eps\doc\lectures\Работа с меню и диалогами.files\image016.jpg

3.

String s = JOptionPane.showInputDialog(null, "X=");

Описание: Описание: C:\Documents and Settings\User\Рабочий стол\eps\src\eps\doc\lectures\Работа с меню и диалогами.files\image017.jpg

3.4. ДИАЛОГИ ВЫБОРА ФАЙЛА / КАТАЛОГА JFileChooser

Диалоги выбора JFileChooser служат запроса у пользователя имени файла или каталога.

Описание: Описание: C:\Documents and Settings\User\Рабочий стол\eps\src\eps\doc\lectures\Работа с меню и диалогами.files\image018.jpg

Описание: Описание: C:\Documents and Settings\User\Рабочий стол\eps\src\eps\doc\lectures\Работа с меню и диалогами.files\image019.jpg

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// Запрос имени файла

JFileChooser chooser = new JFileChooser(); // Создаем объект выбора имени файла

chooser.setDialogTitle("Выберите файл"); // Заголовок окна диалога

chooser.setFileSelectionMode(JFileChooser.FILES_ONLY); // Выбор только файлов

// Установить первое значение фильтра по-умолчанию

chooser.setFileFilter(new FileNameExtensionFilter("TXT & DOC", "txt", "doc"));

// Добавить дополнительные фильтры

chooser.addChoosableFileFilter(new FileNameExtensionFilter("MP3 & AVI", "mp3", "avi"));

chooser.addChoosableFileFilter(new FileNameExtensionFilter("JPG & PNG", "jpg","png"));

chooser.setAcceptAllFileFilterUsed(false); // Запретить показывать фильтр "All files"

int ret = chooser.showDialog(null, "Выбрать"); // Вызываем диалог

if (ret != JFileChooser.APPROVE_OPTION) { return; } // Если файл не выбран, то выход

//File file = chooser.getSelectedFile(); // Подключение к файлу

JOptionPane.showMessageDialog(null, chooser.getSelectedFile().getName(), "Имя файла", 1);

JOptionPane.showMessageDialog(null, chooser.getSelectedFile().getPath(), "Полный путь с именем файла", 1);

}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

// Запрос имени каталога

JFileChooser chooser = new JFileChooser(); // Создаем объект выбора имени файла

chooser.setDialogTitle("Выберите каталог"); // Заголовок окна диалога

chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); // Выбор только каталогов

// chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); // Выбор или каталога или файла

chooser.setAcceptAllFileFilterUsed(false); // Отключить выбор типа файлов

chooser.setCurrentDirectory(new File(".").getAbsoluteFile().getParentFile()); // Установка текущего каталога

int ret = chooser.showDialog(null, "Выбрать"); // Вызываем диалог

if (ret != JFileChooser.APPROVE_OPTION) { return; } // Если каталог не выбран, то выход

JOptionPane.showMessageDialog(null, chooser.getSelectedFile().getName(), "Имя каталога", 1);

JOptionPane.showMessageDialog(null, chooser.getSelectedFile().getPath(), "Полный путь с именем каталога", 1);

}